In the last few years, users have become highly dependent upon computers for professional and personal communications. As a result, everyday, users are exchanging valuable information using the computer that is not only restricted to text, but also sound, pictures, music, and video over the computer. However, with this sea of information being stored on the computer, users tend to find it hard to manage such a mass of data. Moreover, data recoverability becomes more important as the amount and the value of the information grows over an extended length of time. Although more and more people are handling most of their personal and business information in a computer environment, at the same time, the fragility of computers and software applications has not been properly addressed. For example, without diligent use of backup mechanisms, information can be easily lost. However, the problem with backup mechanisms is that the time and effort necessary for recovery is usually high. The risk of potential data loss is further compounded by the large increase in worms and virus activities in recent years.
Thus, the information-handling software, such as an operating system or application, can get into an unusable state, where information can no longer be retrieved. A state generally refers to the current configuration, attributes, condition, or information content of the information-handling software. Moreover, because the wealth of information tends to accumulate over time, users eventually cannot save their information in ways that make sense to them anymore. As a result, users may have difficulty finding a particular desired piece of information. To that extent, global catalogues, such as listings of all files or times by name or time, and hierarchical categorization cannot provide enough context information to differentiate the desired items from other items. Indexers similarly do not solve the problem, in part because users relate best to a visual layout of data. To worsen the matter, backups can actually exasperate this problem, because if users store backups in the same namespace as the actual information, numerous different versions with similar names and content will accumulate over time. Furthermore, different variants similarly tend to lead to multiple versions of the same files or data items, which would increase the overall confusion over where the desired information is actually located.
One known method for archiving files using a time-centric approach involves dragging the files to the desktop for archiving. When the file is no longer needed, users can delete the file using a trashcan on the desktop. However, when the user needs a deleted file at a later time, the user can recover the deleted file by specifying a time when the file was on the desktop and restoring the desktop from that time. Consequently, instead of using a hierarchical folder system, users archive files by simply dragging them to the desktop.
A variation of this method further includes a system that is based on time-based inter-application communication. The method essentially has three features: (1) each software application has the notion of “current time,” (2) when the “current time” of one application is changed, the application notifies the other application of this changed time, and as a result (3) the other application change their “current time” states according to this information. With these features, the time-based desktop system can be manipulated to change the time of any related application of a document on the desktop to ensure that the document opens properly.
The problem with these two methods is that they relate only to a way for users to keep track of their files that is an alternative to the existing hierarchical folder structure, namely a time based approach. At best, these methods provide a way to pull up a deleted file or a method to easily save files based on a current time. However, these methods do not provide a way to recover applications from a prior point in time, nor do they provide a way to archive an application's state. Moreover, the method does not address applications that do not have a consistent saved file that is visible to the user. Thus, there is a need for an improved method and system for archiving and recovering data.